package io.geekidea.boot.shop.service.base.api;

import com.baomidou.mybatisplus.extension.service.IService;
import io.geekidea.boot.framework.page.Paging;
import io.geekidea.boot.shop.dto.TemplateDto;
import io.geekidea.boot.shop.entity.Template;
import io.geekidea.boot.shop.query.app.AppTemplateQuery;
import io.geekidea.boot.shop.query.web.TemplateQuery;
import io.geekidea.boot.shop.vo.app.AppTemplateVo;
import io.geekidea.boot.shop.vo.web.TemplateVo;


/**
 * 网页模板表 服务接口
 *
 * @author geekidea
 * @since 2024-10-27
 */
public interface TemplateService extends IService<Template> {

    /**
     * 添加网页模板表
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addTemplate(TemplateDto dto);

    /**
     * 修改网页模板表
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateTemplate(TemplateDto dto);

    /**
     * 删除网页模板表
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteTemplate(String id);

    /**
     * 网页模板表详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    TemplateVo getTemplateById(String id);

    /**
     * 网页模板表分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<TemplateVo> getTemplatePage(TemplateQuery query);

    /**
     * App网页模板表详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppTemplateVo getAppTemplateById(String id);

    /**
     * App网页模板表分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppTemplateVo> getAppTemplatePage(AppTemplateQuery query);

}
